package com.xian.d2_modifier;

/**
 * 学完权限修饰符需要具备如下能力
 * 能够识别别人定义的成员的访问范围。
 * 自己定义成员（方法，成员变量，构造器等）一般需要满足如下要求:
 * 成员变量一般私有。
 * 方法一般公开。
 * 如果该成员只希望本类访问，使用private修饰。
 * 如果该成员只希望本类，同一个包下的其他类和子类访问，使用protected修饰。
 *
 * 权限修饰符是什么?
 * 有四种作用范围由小到大( private ->缺省-> protected - > public )
 */

public class Fu {
    /**
     * 1、定义私有的成员:private只能本类中访问。
     */
    private void privateMethod(){
        System.out.println("========private======");
    }
    /**
     * 2、定义缺省修饰的成员:只能本类中、同包下其他类访问（包访问权限>
     */
    void method(){
        System.out.println("======缺省====");
    }
    /**
     * 3、protected修饰的方法:本类，同包的其他类中，其他包的子类中。
     */
    protected void protectedMethod(){
        System.out.println("=====protected=====");
    }

    /**
     * 4、public修饰的方法:本类，同包的其他类中，其他包的子类中,其他包的无关类中。
     */
    public void publicMethod(){
        System.out.println("=======public======");
    }


    public static void main(String[] args) {
        Fu f = new Fu();
        f.privateMethod();
        f.method();
        f.protectedMethod();
        f.publicMethod();

    }
}
